Design of communications networks

ABSTRACT

An apparatus and method are provided for designing at least a part of a communications network beginning with an initial network design, a set of traffic handling requirements and an initial set of design rules. Each rule includes a condition portion and an action portion and at least one such rule includes a portion expressed in terms of at least one variable parameter. An iterative procedure is implemented to evolve both a network design and a set of design rules comprising variations to rules from the initial rule set. A population of rule sets is generated with each rule set using a different combination of assigned parameter values. For each rule set in the population of rule sets, rules for which the condition portion is satisfied are applied to generate a modified network design. Measures of performance, including cost of each modified design are determined through simulation of the operation of the design on the basis of the traffic handling requirements and the performance and cost of different designs compared. A preferred design then forms the basis for further modified network designs and the particular rule set that generated the preferred design forms the basis of a new rule set population in the next iteration.

[0001] This invention relates to the design of communications networksand in particular to methods and apparatus for evolving a design for anetwork using a technique involving evolution of design rules.

[0002] Design of a network architecture and configuration is a complextask, especially in respect of large data networks having, or likely torequire, a large number of nodes and interconnecting links.

[0003] A wide range of different systems have been devised to assist inthe design of network architectures and configurations. A number of suchsystems are based upon the idea of using an expert system comprising adatabase of rules to be applied to a particular network design problem,be it the design of a new network or the modification of an existingnetwork to meet a set of customer requirements, for example a risingdemand for peak traffic capacity.

[0004] International patent application PCT/US96/09899 of Cooper et al.describes a system for selecting options for modifying a networkarchitecture in accordance with user preferences and predeterminedtraffic requirements, using a knowledge base of rules. Beginning with abaseline network architecture, rules from the knowledge base are used toselect different categories of modification that may be made to thebaseline architecture, at the same time satisfying the user preferences,and a network simulator simulates operation and performance of modifiednetworks in each category according to the predetermined trafficrequirements. Particular modification options in one or more categoriesare then selected using rules from the knowledge base, taking account ofperformance results from the network simulations and the userpreferences. Further simulation of each of the selected modificationoptions is then used to assess their performance and cost relative tothe performance and cost of the baseline architecture and so produce aranked list of options for a modified network architecture.

[0005] While a great deal of experience may be embodied a knowledge baseof rules for use in such systems, the resultant options for modificationof a network are nevertheless limited by the rule set used to devisethem.

[0006] According to a first aspect of the present invention there isprovided a network designing tool for use in designing at least aportion of a communications network, having:

[0007] an input for receiving an initial network design and a set oftraffic requirements;

[0008] a store for storing at least one network design rule;

[0009] a rule generator for generating a population of rule sets, eachrule set comprising at least one network design rule;

[0010] a network modifier for applying rule sets generated by the rulegenerator to create at least one modified network design;

[0011] performance measurement means for calculating at least onemeasure of network performance in respect of a modified network designwhen carrying traffic as defined by an input set of trafficrequirements; and

[0012] an evaluator for comparing modified network designs usingrespective performance measures calculated by the performancemeasurement means, for selecting at least one preferred network designsatisfying predetermined performance criteria and for identifying arespective rule set used by the network modifier to create said at leastone preferred network design;

[0013] wherein the rule generator is arranged to receive, from theevaluator, the identity of at least one rule set used to create apreferred network design and to generate a new population of rule setscomprising rules derived from said at least one identified rule set, andwherein the network modifier is arranged to apply rule sets from saidnew population of rule sets to create further modifications of said atleast one preferred network design for input to the performancemeasurement means and for evaluation by the evaluator.

[0014] According to this first aspect of the present invention,beginning with an initial network design and a set of traffic handlingrequirements, the network designing tool is able to evolve amodification to the initial design that not only satisfies the traffichandling requirements but also improves the design with respect topredetermined network performance criteria. Such performance criteriamay be expressed in terms of quality of service or cost measures, forexample measures relating to the proportion of successful data calls,the proportion of data packets lost in an Internet Protocol (IP)network, or provision costs associated with providing new networkcomponents such as nodes and links or with network rearrangements.

[0015] Significantly, rather than evolving a network design solely onthe basis of a fixed rule set, as in known network design tools,embodiments of the present invention are able to evolve a set of networkdesign rules found to be most effective in generating network designsthat optimise the performance measures, for example minimising thenetwork provision costs. By varying the network design rules, certaintypes of network modification that may not have been possible with afixed rule set may be considered, potentially leading to a particularlysuccessful network design.

[0016] An initial network design may comprise a specification ofcomponents forming the whole or a selected portion of an existingnetwork that needs to be altered, or the initial network design maycomprise simply a list of specific geographical sites suitable forsiting network equipment forming the basis for a new network or anextension or enhancement to an existing network.

[0017] According to a preferred aspect of the present invention, anetwork design rule comprises at least one condition portion and atleast one action portion with at least one of said portions beingdefined in terms of at least one variable parameter. A population ofrule sets generated by the rule generator includes rules characterisedin having different values assigned to said at least one variableparameter.

[0018] Rules defined using variable parameters in either a conditionportion or an action portion of the rule enable rules to be representedand, using that representation, varied to generate a population of rulesets simply by representing the value of each variable parameter.Certain parameter values may be found to be particularly effective ingenerating a network design of low cost or of higher reliability thanother values. The network designer tool of the present invention enablessuch parameter values to be found.

[0019] According to a further preferred aspect of the present invention,a rule comprises a plurality of condition portions, at least one actionportion and a variable weighting parameter associated with each of saidplurality of condition portions. In tha case, rule sets of thepopulation of rules sets generated by the rule generator comprise ruleshaving different values assigned to the variable weighting parameter.

[0020] A weighting parameter may also be represented in a similar way toa variable parameter within a rule portion. Indeed, rules comprisingvariable parameters within rule portions may be combined with ruleshaving variable weighting parameters assigned to condition portions,each such parameter being represented using the same representationscheme. In this way, subtle variations to a rule set may be generated toexplore the relative importance of certain network characteristics whenselecting rules for use in modifying a network design. This is aparticularly powerful technique not available in known systems withoutusing a great many predetermined rules.

[0021] In a preferred representation scheme, the rule generator isarranged to generate a representation of each network design rule in arule set, the representation comprising a binary bit string ofpredetermined length. The assigned value of each variable parameter ofthe represented network design rule is represented by a predefinedsub-section of the bit string so that a population of rule setscomprises a set of said binary bit strings in which selected bits havebeen altered.

[0022] Where rules have weighting parameters assigned to rule conditionportions, the rule representation preferably comprises a binary bitstring of predetermined length, the assigned value of the weightingparameter being represented by a predefined sub-section of the bitstring so that a population of rule sets comprises a set of said binarybit strings in which selected bits in the weighting parametersub-section have been altered.

[0023] In another preferred aspect of the present invention, a rule setincludes at least one fixed rule and the rule generator is arranged togenerate a representation of a fixed rule, the representation comprisinga binary bit string of predetermined length for representing a distinctrule identifier assigned to the rule. A population of rule sets thencomprises a set of said binary bit strings in which selected bits havebeen altered to identify different rules.

[0024] Besides representing rules by a simple identification scheme,classifier systems or other techniques may be used to model a rule setto enable rule set populations to be generated and to explore the effectof the possible rules on network design in an iterative evolutionprocedure.

[0025] According to a second aspect of the present invention there isprovided a method of designing at least a portion of a communicationsnetwork, the method comprising the steps of:

[0026] (i) inputting an initial network design comprising at least theidentity of a site for locating a network node;

[0027] (ii) inputting predetermined traffic requirements relating to anetwork to be designed;

[0028] (iii) inputting a rule set containing at least one rule formodifying a network design, said rule set including at least one rulecomprising at least one condition portion and at least one actionportion with at least one of said portions being defined in terms of atleast one variable parameter;

[0029] (iv) generating an initial population of rule sets includingrules characterised in having different values assigned to said at leastone variable parameter;

[0030] (v) for each rule set in said population of rule sets, generatinga corresponding modified network design by applying each rule from therule set to components of the initial network design for which therespective rule conditions are satisfied;

[0031] (vi) calculating at least one measure of network performance inrespect of each modified network design generated at step (v) whencarrying traffic as defined by traffic requirements input at step (ii);

[0032] (vii) evaluating the modified network designs from step (v),comparing them on the basis of said at least one respective measure ofperformance from step (vi) to identify at least one preferred networkdesign and identifying the corresponding network design rules used tocreate said at least one preferred network design in step (v);

[0033] (viii) generating a new population of rule sets, derived from atleast one network design rule identified in step (vii);

[0034] (ix) repeating steps (v) to (viii), wherein at step (v) said atleast one preferred network design from step (vii) is modified in placeof the initial network design.

[0035] Further aspects, features and advantages of the present inventionwill be apparent from the following description of preferred embodimentsof the invention, described by way of example only, which refers to theaccompanying drawings of which:

[0036]FIG. 1 is a schematic diagram showing a network arrangement towhich the present invention is applied;

[0037]FIG. 2 is a schematic block diagram showing apparatus of a networkplanning tool according to the present invention;

[0038]FIG. 3 is a flow diagram showing the steps involved in generatingtraffic by a network simulator forming part of the apparatus of FIG. 2;

[0039]FIG. 4 is a schematic diagram showing the topology of the networksimulated by the network simulator forming part of the apparatus of FIG.2;

[0040]FIG. 5 is a flow diagram showing at least part of the costsincurred in modifying a network arrangement according to the presentinvention; and

[0041]FIG. 6 is a flow diagram showing the processes involved inmodifying a network arrangement according to the present invention.

[0042] Overview

[0043] In order to accommodate the increasing volume of IP traffic,particularly the volume of dial-up Internet calls, network design isbecoming an increasingly dynamic issue. As a result, the design ofnetworks is evolving in accordance with traffic demands. Typically thenature of such evolution involves use of a network simulator, whichsimulates projected peak demand for calls. Network simulators are usedto provide a variety of information for particular network arrangements;in the present invention a network simulator is used to evaluate theperformance of the network arrangement—i.e. how, and whether, thenetwork devices comprising the network can cope with a predetermineddemand.

[0044] Referring to FIG. 1, a typical simple communications networkarrangement is shown for use in routing IP traffic between points withina geographical area 100. The network of FIG. 1 will be referred to indescribing the operation of preferred embodiments of the presentinvention below. FIG. 1 shows three so called “core” nodes A, B and Clocated at sites 101 a, 101 b and 101 c respectively. Core nodes A, Band C are fully interconnected by links 103 a, 103 b and 103 c. Two socalled “access” nodes D and E are also shown located at sites 105 a and105 b respectively, each access node being linked to its nearestrespective core node, for example access node D to core node B by meansof link 104 a. FIG. 1 also shows sites 106 representative of furtherpoints of access to the network, though without collocated access nodes.However, sites 106 represent potential geographical locations for newaccess or core nodes that may need to be provided in order for thenetwork to meet increasing traffic handling requirements. Each of thesites 105 a, 105 b and points of access 106 represent points ofaccumulated demand for access to the network from particulargeographical areas. The accumulated peak level of demand for data callsoriginating within the local area of each site 105 a, 105 b and 106 isillustrated in FIG. 1 by use of different shadings, representative inthis example of four bands of peak traffic demand.

[0045] In an embodiment of the present invention, a network simulator201, shown in FIG. 2 of the accompanying drawings, simulates thisnetwork arrangement. The embodiment of the present invention, generallyreferred to as a network planning tool 200, additionally comprises arule generator 203, network design modifier 205 for modifying networkarrangement, evaluator 207 for evaluating cost associated with themodified arrangement and rule generator 203 for adapting parameterscharacterising the rules. Essentially these components interoperate asfollows:

[0046] Referring to FIG. 2, components of a network planning tool 200are shown according to preferred embodiments of the present invention.The network planning tool 200 includes a rule store 202, a rulegenerator 203, a network design modifier 205, a network simulator 201and an evaluator 207. Operation of each of these components will bedescribed in more detail below. However, in overview, the rule store 202stores, or is arranged with access to at least one planning rule for usein determining the design of a new network or modifications to anexisting network. The rule generator 203 receives rules from the store202 and generates variations of those rules. The network design modifier205 includes an input for receiving an initial network design, or thebasis of a network design (for example a list of sites suitable forlocating network nodes), and for receiving rules from the rule generator203. The network design modifier 205 applies those rules to, in thefirst instance, the initial network design and subsequently, to amodified network design, to make modifications according to those rules.The network simulator 201 includes an input for receiving a set oftraffic requirements and for receiving network designs from the networkdesign modifier 205. The network simulator 201 simulates operation ofeach received network design using the received traffic requirements andcalculates at least one predetermined measure of network performance ornetwork cost for the particular design. The evaluator 207 comparesdifferent network designs on the basis of respective performance andcost data received from the simulator 201 and identifies those designsthat appear to be most favourable, for example the least expensive toimplement. The evaluator 207 also notes the particular rules that wereinvolved in generating the most favourable network designs and outputsthose designs and associated rules, in particular passing references tothe most effective rules to the rule generator 203 to trigger subsequentuse of those rules or storage in the rule store 202.

[0047] Network Simulator 201

[0048] Many telecommunications network management and design problemsrequire the simulation of a communications network in order to assessthe “quality” of a given network arrangement. The network simulator 201of this embodiment allows network devices to be combined in numerousways. For instance, nodes, links between nodes and capacities of thelinks can all be manipulated, and routing tables, which determinerouting strategies within the network, can be generated. Routingstrategies can be “plugged” into a network device (node), and the nodesinclude specifications for parameters such as speed at which traffic canbe routed through the node, size and configuration of data queues andthe physical space required to accommodate the node.

[0049] The network simulator 201 includes a traffic generator 201 a,which can input a traffic profile—a simulated timetable of trafficevents—to the network simulator 201, and can operate in accordance witha flexible event-driven model and schedule. Simulation of traffic caninvolve the use of a probability distribution function (Poissondistribution—used to model circuit switched traffic, so maybe not sorelevant here) or some other algorithmic process (e.g. fractionalBrownian motion, chaotic maps and other self-similar pattern generators)that captures the observed structure in the data or models thegenerating mechanism. In some cases real data may be available, in whichcase the generator is able to load and use this data directly.

[0050] The traffic generator 201 a produces events in accordance with apredetermined traffic profile. The events comprising the traffic profileare generated when, for example, a user requests a connection or whenpackets of data arrive. These events typically do not occur in isolationbut are constrained and triggered by other events—e.g. a high-levelevent could trigger a cascade of other events with the eventual resultbeing the generation of a call or data. For example when a dial-up callcannot be routed directly to a core node 101 a, the call is routed viathe PSTN. In this situation a data call over the PSTN requiressimulating. A number of events are important for this simulation, forexample, the dial request, the duration of the call and the arrival timeof data packets for that call.

[0051] Referring to FIG. 3, a user request S 3.1 may be generated via aPoisson distribution and the acceptance of a call S 3.2 is likely to bedetermined by conditions in the simulated network. Once a call has beenaccepted, a call initiation event begins S 3.3. The call initiationevent then triggers a call duration mechanism S 3.4, which may generatea call termination event S 3.6 for sometime in the future using, forexample, a heavy-tailed distribution. The call initiation event alsotriggers S 3.5 a packet generation mechanism, which is terminated by thecall termination event. In between the call initiation and calltermination, the packet generation mechanism is arranged to generateself-similar packet streams that are fed into the simulated network.

[0052] The general mechanism for transferring traffic events betweennetwork devices in the simulated network includes a combination of thefollowing:

[0053] a. The traffic generator 201 a produces (software) events thatcan be listened to by any of the network devices in the simulatednetwork;

[0054] b. The traffic generator 201 a is arranged to receivedevice-dependent data and makes decisions on routing of traffic based onthe ability, or otherwise, of a network device to accept data.

[0055] The call initiation event on an IP node is dependent, at least inpart, on the number of free ports at the node 101 a. While a node 101 ahas one or more free ports, those ports listen for incoming callrequests; however, once all of the ports are occupied, the node isworking at full capacity, and cannot accept any more data. In the lattersituation the traffic generator receives the status of that node anddoes not send a request for a call set-up until the node has a free portagain.

[0056] Packet switched networks include data from different sources,each potentially transmitting data via different protocols. This has thepotential to create a range of different behaviours at the packet level,each of which could be modelled by a dedicated protocol-type component.Thus the traffic generator is arranged to model traffic at anapplication level with, for example, www, ftp and telnet trafficmodelled separately; or at a user level, with different usercharacteristics creating different demands; or at a protocol level withseparate UDP and TCP traffic sources.

[0057] The network simulator 201 makes use of both graph space andCartesian space. The former allows the logical topology of the networkto be defined and the latter allows network devices to be placed atprecise geographical locations and thus provides information regardingthe geographical proximity of nodes and other network equipment. Thisinformation is required by the network design modifier 205 to makedecisions about the placement of new network devices (see below).

[0058] As shown in FIG. 4, the topology of the simulated networkincludes IP network nodes 401 and links 403 and PSTN (Public SwitchedTelephone Network) nodes 405 and links 407, and the PSTN isinterconnected with the IP network by means of Gateway G1.

[0059] The network planning tool 200 evaluates network designs forquality of service and costs incurred. This includes quantifying boththe cost of any additional hardware and the quality of service that hasbeen achieved for a predetermined traffic profile.

[0060] One way in which the quality of service can be quantified is byidentifying the number of dial-up calls that the network failed toestablish, and associating a cost with the identified failed calls. Ifthere is demand for a dial-up call at a site, but there are noco-located IP nodes, the network simulator 201 routes the call to anearest IP access or core node via a PSTN node (shown in FIG. 4) on thesite; each dial-up call routed this way incurs a particular cost. If thedial-up call is routed to an access node that has no spare capacity toaccept the call, the call is routed, via PSTN, to the closest core node;this additional routing incurs a yet higher cost. The network simulator201 therefore maintains a record of the way in which calls areprocessed; for example, and with reference to FIG. 5, the networksimulator 201 can typically be expected to perform the followinganalysis and record the results of the analysis:

[0061] S 5.1 Is there an IP node available on the site? If YES proceedto S5.3 to check capacity. If NO, go to S 5.2

[0062] S 5.2 Route the call via the PSTN to the geographically nearestIP node. Set cost to C1

[0063] S 5.3 Is the IP node at full capacity? If NO, Connect Call withcost C1. If YES, go to S5.4

[0064] S 5.4 Is the IP node an Access node? If NO, Drop Call and setcost to C3. If YES, proceed to S 5.5

[0065] S5.5 Route the call via the PSTN to the nearest Core node. Setthe cost to C2

[0066] S5.6 Is the Core node at full capacity? If YES, Drop Call and setcost to C3. If NO, Connect Call with cost C2.

[0067] Thus dial-up calls are routed via the PSTN until an availableentry into the IP network is found. If the call reaches one of the coreIP nodes and a call still cannot be established, the call is dropped.Note that when a dial-up call fails, this is typically because the nodesreceiving the call are operating at full capacity.

[0068] Rule Generator 203

[0069] The rule generator 203 generates rules that are used in theplanning of network growth. Rule store 202 stores the basic syntax ofthe rules, for access by the generator 203. The rules take account ofthe demand at a site and the proximity of other nodes, e.g. (X and Y areparameters):

If (Demand>X) AND (Distance to Nearest Node>Y) THEN (ADD an accessnode)  (R1)

[0070] In order to distinguish the significance of one parameter fromanother, scaling parameters λ,θ can be applied. These scaling parametersweight the relative contribution of demand and distance, so that thefactor that is of most importance (having a higher weight) dominates theevaluation of R1. When R1 includes the scaling parameters, R1 can beexpressed as:

(Demand−X)×λ, +(Distance to Nearest Node−Y)×θ=P

[0071] Where if P>0 THEN (ADD an access node)

[0072] Typically the rule generator 203 outputs between 15 and 25variants of each rule—i.e. for each rule the values of the parameters X,Y, λ,θ are assigned between 15 and 25 different values, therebygenerating 15-25 variations of the rule. All of these variations areinput to network design modifier 205, and are evaluated by evaluator 207as described below.

[0073] Rule R1 is applied equally to all of the sites, but differentrules could be used for different sites, and different conditions (i.e.other than demand and distance) could be used to characterise the rules.For example, different geographical areas, such as London, could requirespecial consideration. In the case of London, where demand isproportionately higher than other parts of the country, it is likelythat a special set of rules would be applicable to London sites.

[0074] In addition to adding nodes, rules could be added that controlthe deletion of nodes, so that if demand were to fall below apredetermined threshold at a site, nodes would be deleted at that site.

[0075] Selecting, or altering, values for the parameters of the rulescan involve use of a Genetic Algorithm (GA), or another suitable searchalgorithm. It would be clear to one with ordinary skill in the art thata range of suitable search algorithms could be used for this purpose,and selection of a suitable strategy is determined by the ability of thestrategy to search a given space, which in this embodiment is given bythe representation of the problem. Alternatives to using a GA include arandomiser, an evolutionary strategy, where the mutation rate co-evolveswith the solution and there is no population, or a local search method.The operating parameters for a GA are likely to be determined bycomputation overheads and the nature of the problem, so that thepopulation size is restricted only by computational overheads, and amutation rate is selected dependent on the form of the problem (thegenome). Crossover, as a means for generating changes within thepopulation of solutions, is optional. For the example rule R1 givenabove, the parameters of the rule R1 can be encoded into a chromosome;specifically each of X, Y, λ,θ is represented using a 5-bit binarystring, producing a chromosome of 20 bits. The parameters may berepresented as real values with assigned ranges or they may berepresented as binary strings. In the former case, each of theparameters is assigned a minimum and maximum value and the 5-bitrepresentation is quantised into 32 levels, for example:

[0076] X (demand): 0 to 1500,

[0077] Y (distance): 0 to 50 (the maximum possible distance betweensites in the simulation)

[0078] λ,θ (weighting parameters): 0 to 5.

[0079] As an example of a suitable search strategy, rule generator 203can use the genetic algorithm described in Adaptation in Natural andArtificial Systems, by John H. Holland, published by MIT Press, 1994,with roulette wheel selection, a population size of 20, a per-bitmutation rate of 0.01 and single-point crossover rate of 0.7 to alterthe parameters in the rules.

[0080] As described above, between 15 and 25 different values ofparameters X, Y, λ,θ are generated and evaluated for each rule, so that,for each rule there are 15-25 network arrangements and a correspondingnumber of network evaluations. In a first arrangement, the rulegenerator 203 modifies each of these parameter values so that a further15 to 25 variations, each based on their original values, of the rule R1are generated. In a second arrangement, only the parameter values thatyielded the lowest cost are selected, and these parameter values areused to generate a further 15 to 25 variations. Other variations ofselection schemes, based on information gathered from the evaluator 207,are possible.

[0081] Network Design Modifier 205

[0082] Network design modifier 205 applies the rules in an iterativemanner in accordance with a predetermined procedure and thereby modifiesthe topology of the network. The network design modifier 205 receivesdata relating to each site in the form of an initial network design, sothat the demand and distance data is known. The procedure is describedin FIG. 6 and comprises the following steps (references to R1 apply toall of the variations of R1):

[0083] S 6.1 Apply R1 to each site. If P<0, Exit, else go to Step S 6.2;

[0084] S 6.2 Note sites where P>0, and list the sites in order of demandand distance from a node (i.e. highest values of P at the top);

[0085] S 6.3 Identify the site at the top of the list and send aninstruction to the network simulator 201 to add an access node to thatsite.

[0086] S 6.4 Instruct the network simulator to link the added node tothe nearest core node;

[0087] S 6.5 Return to step S 6.1

[0088] For situations where there is a plurality of rules, and wheredifferent rules apply to different sites, it is possible that theprocedure outlined above may be stuck in an infinite loop. In this casesuitable additional termination criteria is required.

[0089] Evaluator 207

[0090] The record maintained by the network simulator 201, whichdocuments the way in which calls are processed, is input to evaluator207. Evaluator 207 then reads the various costs incurred when trying toset up calls, and evaluates the overall cost associated with thenetwork. Each new access node incurs cost C4; and each link that resultsfrom the addition of a new node between access node and core node incurscost C5. The actual values of the costs C1-C5 (C1, C2, C3 being thecosts incurred in accordance with FIG. 5) are arrangement specific, andare measured in relative terms, such that neither the absolute values,nor the units used, are important. In terms of orders of magnitude, thecost of an access node (C4)=800; the cost of a link (C5)=25 per unitlength, having a maximum length set to 50 units; the cost of eachdropped call (C3)=10 and; the cost of each individual PSTN routing (C1,C2)=5.

[0091] The cost associated with a network design is input to the rulestore 202, and stored as a performance measure for the correspondingrule, or particular form of the corresponding rule (e.g. parameterscharacterising a rule). The rule generator 203 thus has access to aperformance measure for rules and/or particular forms of the rules, andthe performance measure is used to identify which rules to use as abasis for generation of new rules.

[0092] In summary, the present embodiment applies a genetic algorithm togenerate a plurality of parameter values, and thus rule conditions.These rule conditions are used to generate a plurality of modifiednetwork arrangements, as described with reference to FIG. 6, and each ofthese network arrangements are evaluated to establish the costsassociated therewith. The evaluation process accounts for themodification of the network arrangement by addition and/or deletion ofnetwork devices. Furthermore by factoring in dropped packets and packetsrouted via the PSTN (FIG. 5), the evaluation process additionallyaccounts for the quality of service provided by the network. Thus theoutput of the evaluation (network cost) can be used to compare networkarrangements.

[0093] Implementation:

[0094] The network planning tool 200 described above can be built andrun on the “Eos” evolutionary and ecosystem research platform, which isa “plug and play” design environment implemented using the Java™programming language. Further details can be found in “Eos, anEvolutionary Toolkit in Java”, Erwin Bonsma, presented at PECTEL 4,Colchester, England, December 1999.

[0095] The processes carried out by the network design modifier 205, theevaluator 207 and the rule generator 203 involve computationallyintensive calculations. Multiple computers can be used to distribute theworkload to allow simulations to be distributed over multipleprocessors. Two mechanisms can be used internally within Eos to supportthis parallelism: Java™ RMI (remote method invocation) or the Voyagerdistributed agent toolkit (ObjectSpace. Voyager ORB. WWW:http://www.objectspace.com/products/prodVoyager.asp). These mechanismscan be used to distribute the processing carried out by the networkplanning tool 200 over a 36-processor Beowulf cluster of PCs runningunder the Linux operating system (Wollesen, E. A; Krakowiak, N; andDaida, J. M. 1999, Beowulf Anytime for Evolutionary Computation. In Latebreaking papers at GECCO 1999. 298-304. Orlando, Fla. GECCO 1999).

[0096] Additional Details and Modifications:

[0097] The rule generator 203 can be arranged to co-operate with meansfor adaptively selecting both rules and parameters of the rules. Inparticular the selection can involve use of a genetic algorithm, orsimilar. For example, suppose each rule can take one of 10 differentforms, and that each of those forms can be represented by a numberbetween 1 and 10 (so there is a look-up table between the rule form andnumbers between 1 and 10). If there is a plurality of rules, arepresentation of each rule (i.e. a number between 1 and 10) can occupya gene in a chromosome. A genetic algorithm can then be applied to thatchromosome, so that the gene values change. Depending on the gene value,(i.e. number between 1 and 10), a particular form of each of the ruleswill be used, and this defines the selection of rules to be applied fornetwork design. The same approach could be applied to actual selectionof rules themselves—the number between 1 and 10 could represent 10different rules, so that the value of the gene in the chromosomeidentifies which of the rules are to be used.

[0098] As will be understood by those skilled in the art, the inventiondescribed above may be embodied in one or more computer programs. Theseprogrammes can be contained on various transmission and/or storagemediums such as a floppy disc, CD-ROM, or magnetic tape so that theprogrammes can be loaded onto one or more general purpose computers orcould be downloaded over a computer network using a suitabletransmission medium.

[0099] Unless the context clearly requires otherwise, throughout thedescription and the claims, the words “comprise”, “comprising” and thelike are to be construed in an inclusive as opposed to an exclusive orexhaustive sense; that is to say, in the sense of “including, but notlimited to”.

1. A network designing tool for use in designing at least a portion of acommunications network, having: an input for receiving an initialnetwork design and a set of traffic requirements; a store for storing atleast one network design rule; a rule generator for generating apopulation of rule sets, each rule set comprising at least one networkdesign rule; a network modifier for applying rule sets generated by therule generator to create at least one modified network design;performance measurement means for calculating at least one measure ofnetwork performance in respect of a modified network design whencarrying traffic as defined by an input set of traffic requirements; andan evaluator for comparing modified network designs using respectiveperformance measures calculated by the performance measurement means,for selecting at least one preferred network design satisfyingpredetermined performance criteria and for identifying a respective ruleset used by the network modifier to create said at least one preferrednetwork design; wherein the rule generator is arranged to receive, fromthe evaluator, the identity of at least one rule set used to create apreferred network design and to generate a new population of rule setscomprising rules derived from said at least one identified rule set, andwherein the network modifier is arranged to apply rule sets from saidnew population of rule sets to create further modifications of said atleast one preferred network design for input to the performancemeasurement means and for evaluation by the evaluator.
 2. A networkdesigning tool as in claim 1, wherein a network design rule comprises atleast one condition portion and at least one action portion with atleast one of said portions being defined in terms of at least onevariable parameter, and wherein a population of rule sets generated bythe rule generator includes rules characterised in having differentvalues assigned to said at least one variable parameter.
 3. A networkdesigning tool as in claim 1 or claim 2, wherein a rule comprises aplurality of condition portions, at least one action portion and avariable weighting parameter associated with each of said plurality ofcondition portions, and wherein rule sets of said population of rulessets generated by the rule generator comprise rules having differentvalues assigned to said variable weighting parameter.
 4. A networkdesigning tool as in claim 2 or claim 3, wherein the network modifier isarranged to test each condition portion of a rule in a rule setgenerated by the rule generator and to apply only those rules in therule set to modify aspects of the network design for which each saidrule condition is satisfied.
 5. A network designing tool as in claim 4when dependent upon claim 3, wherein the network modifier is arranged,when testing each condition portion of a rule, to use respectivelyassigned weighting parameter values to calculate a measure of the extentto which the weighted rule condition portions are satisfied in respectof a network design to be modified and to modify the network designusing only those rules in the rule set for which the weighted ruleconditions are most strongly satisfied.
 6. A network designing tool asin claim 2, wherein the rule generator is arranged to generate arepresentation of each network design rule in a rule set, therepresentation comprising a binary bit string of predetermined length,the assigned value of each variable parameter of the represented networkdesign rule being represented by a predefined sub-section of the bitstring, and wherein a population of rule sets comprises a set of saidbinary bit strings in which selected bits have been altered.
 7. Anetwork designing tool as in claim 3, wherein the rule generator isarranged to generate a representation of each network design rule havinga variable weighting parameter associated with a condition portion ofthe rule, the representation comprising a binary bit string ofpredetermined length, the assigned value of the weighting parameterbeing represented by a predefined sub-section of the bit string, andwherein a population of rule sets comprises a set of said binary bitstrings in which selected bits in the weighting parameter sub-sectionhave been altered.
 8. A network designing tool as in any one of thepreceding claims, wherein a rule set includes at least one fixed ruleand wherein the rule generator is arranged to generate a representationof a fixed rule, the representation comprising a binary bit string ofpredetermined length for representing a distinct rule identifierassigned to the rule, and wherein a population of rule sets comprises aset of said binary bit strings in which selected bits have been alteredto identify different rules.
 9. A network designing tool as in any oneof claims 6 to 8, arranged to operate a genetic optimisation procedurefor the evolution of a network design, wherein the rule generator isarranged to generate a new population of rule sets at each iteration ofthe procedure comprising rules derived from said at least one identifiedrule set using genetic operators to alter bit values in a bit stringrepresentation of rules in said at least one identified rule set.
 10. Anetwork designing tool according to any one of the preceding claims,wherein the population of rule sets generated by the rule generatorcomprises a single rule set, and wherein the evaluator compares theperformance of a modified network design created by the application ofsaid single rule set with the performance of a modified network designgenerated by an earlier rule set and retains one of said assesseddesigns as the preferred network design using respective performancemeasures calculated by the performance measurement means.
 11. A methodof designing at least a portion of a communications network, the methodcomprising the steps of: (i) receiving an initial network designcomprising at least the identity of a site for locating a network node;(ii) receiving predetermined traffic requirements relating to a networkto be designed; (iii) receiving a rule set containing at least one rulefor modifying a network design, said rule set including at least onerule comprising at least one condition portion and at least one actionportion with at least one of said portions being defined in terms of atleast one variable parameter; (iv) generating an initial population ofrule sets including rules characterised in having different valuesassigned to said at least one variable parameter; (v) for each rule setin said population of rule sets, generating a corresponding modifiednetwork design by applying each rule from the rule set to components ofthe initial network design for which the respective rule conditions aresatisfied; (vi) calculating at least one measure of network performancein respect of each modified network design generated at step (v) whencarrying traffic as defined by traffic requirements received at step(ii); (vii) evaluating the modified network designs from step (v),comparing them on the basis of said at least one respective measure ofperformance from step (vi) to identify at least one preferred networkdesign and identifying the corresponding network design rules used tocreate said at least one preferred network design in step (v); (viii)generating a new population of rule sets, derived from at least onenetwork design rule identified in step (vii); (ix) repeating steps (v)to (viii), wherein at step (v) said at least one preferred networkdesign from step (vii) is modified in place of the initial networkdesign.
 12. A method of generating a design for at least onecommunications network, comprising the steps of: (i) inputting aninitial network design comprising at least the identity of a site forlocating a network node; (ii) inputting predetermined trafficrequirements relating to a network to be designed; (iii) inputting arule set containing at least one rule for modifying a network design,said rule set including at least one rule comprising at least onecondition portion and at least one action portion with at least one ofsaid portions being defined in terms of at least one variable parameter;(iv) generating an initial population of rule sets including rulescharacterised in having different values assigned to said at least onevariable parameter; (v) for each rule set in said population of rulesets, generating a corresponding modified network design by applyingeach rule from the rule set to components of the initial network designfor which the respective rule conditions are satisfied; (vi) calculatingat least one measure of network performance in respect of each modifiednetwork design generated at step (v) when carrying traffic as defined bytraffic requirements input at step (ii); (vii) evaluating the modifiednetwork designs from step (v), comparing them on the basis of said atleast one respective measure of performance from step (vi) to identifyat least one preferred network design and identifying the correspondingnetwork design rules used to create said at least one preferred networkdesign in step (v); (viii) generating a new population of rule sets,derived from at least one network design rule identified in step (vii);(ix) repeating steps (v) to (viii), wherein at step (v) said at leastone preferred network design from step (vii) is modified in place of theinitial network design, until at step (vii) at least one preferrednetwork design is identified satisfying predetermined performancecriteria.
 13. A method as in claim 12, including the step: (x) storingthe network design rules identified at step (vii), used to create the atleast one preferred network design identified at step (ix), for use asinput at step (iii) in a further operation of the method.